import random

WIDTH = 300
HEIGHT = 300

BACK_COLOR = (0, 0, 0)

class MyRect:
    def __init__(self, x, y, w, h, clr):
        self.x = x
        self.y = y
        self.w = w
        self.h = h
        self.clr = clr
        self.speed = 2
    def SetSpeed(self, speed):
        self.speed = speed
        
    def Update(self):
        self.x += self.speed
        if self.x - self.w//2 > WIDTH:
            self.x = self.w//2
    
    def Draw(self):
        rc = Rect((self.x - self.w//2,self.y - self.h//2),(self.w,self.h))
        screen.draw.filled_rect(rc,self.clr)
# = MyRect(0, 100, 100, 100, (0, 200, 0))

clrLst = [
    (0, 200, 0),
    (200, 0, 0),
    (0, 0, 200),
    (0, 200, 200),
    (200, 0, 200),
    (200, 200, 0),
    (200, 200, 200),
    (0xff,0xff,0xff)
]
rcLst = []
for i in range(10):
    w = random.randint(50, 100)
    clrIdx = random.randint(0, 6)
    print(clrIdx)
    clr = clrLst[clrIdx]
    rc = MyRect(0, random.randint(50, 200), w, w, clr)
    rc.SetSpeed(random.randint(1, 10))
    rcLst.append(rc)

def on_key_down(key):
    if key == keys.ESCAPE:
        quit()
        
def on_mouse_down(pos):
    print("mouse_down", pos)
    
def on_mouse_up(pos):
    print("mouse_up", pos)
    
def update():
    for rc in rcLst:
        rc.Update()
        
def draw():
    screen.clear()
    screen.fill(BACK_COLOR)
    for rc in rcLst:
        rc.Draw()
